﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VWise_DAO;

namespace VWise_Reporter
{
  class CMarkReportItem
  {
    public CMarkRegister pMarkRegister;
    public CPersonal pPersonal;
    public CVehicle pVehicle;
    public string szDates;

    private string codigoP;

    public string Nombre_prop
    {
        get { return pMarkRegister.nombre; }
        set { pMarkRegister.nombre = value; }
    }

    public string Codigo_prop
    { 
        get { return pMarkRegister.codigoStr; }
        set { pMarkRegister.codigoStr = value; } 
    }

    public string Area_prop
    {
        get { return pMarkRegister.area; }
        set { pMarkRegister.area = value; }
    }

    private string departamento;
    public string Departamento_prop
    {
        get { return pMarkRegister.departamento; }
        set { pMarkRegister.departamento= value; }
    }

    private string unidad;
    public string Unidad_prop
    {
        get { return pMarkRegister.unidad; }
        set { pMarkRegister.unidad = value; }
    }




    public string CodigoP
    {
        get { return pPersonal.codigoP; }
        set { pPersonal.codigoP = value; }
    }

    public TimeSpan tsTiempoTrabajado;

    public string szTiempoTrabajado
    {
      get { return tsTiempoTrabajado.ToString(); }
    }

    public DateTime fechaMarca
    {
        get { return pMarkRegister.dtInOutTime; }
    }

    public string dtInOutDate_prop
    {
      get { return pMarkRegister.dtInOutTime.ToString("dd/MM/yyyy"); }
    }

    public string dtInOutTime_prop
    {
      get { return pMarkRegister.dtInOutTime.ToString("HH:mm:ss"); }
    }

    public string iFlagRegister_prop
    {
      get
      {
        string szOut = "MARCA ";
        switch (pMarkRegister.iFlagRegister)
        {
          case CMarkRegister.W_MARK_INGRESO:
            szOut = "INGRESO";
            break;

          case CMarkRegister.W_MARK_SALIDA:
            szOut = "SALIDA";
            break;

          case CMarkRegister.W_MARK_EXCEPCIONAL_INGRESO:
            szOut = "INGRESO EXCEPCIONAL";
            break;

          case CMarkRegister.W_MARK_EXCEPCIONAL_SALIDA:
            szOut = "SALIDA EXCEPCIONAL"; 
            break;
        }
        return szOut; 
      }
    }

    public string szPuerta_prop
    {
      get { return pMarkRegister.szPuerta; }
    }

    public string szName_prop
    {
      get { return pPersonal.szPatLastName + " " + pPersonal.szMatlastName + ", " + pPersonal.szFirstName; }
    }

    private string area_ReporteGrupal;

    public string Area_ReporteGrupal
    {
        get { return area_ReporteGrupal; }
        set { area_ReporteGrupal = value; }
    }

    public string szArea_prop
    {
      get { return pPersonal.szArea; }
    }

    public int iPKCode
    {
      get { return pMarkRegister.iPKCode; }
    }

    public string szCondicion_prop
    {
      get { return (pPersonal.iCondition == 1) ? "ACTIVO" : "CESADO"; }
    }

    public string szPlaca_prop
    {
      get { return pVehicle.szPlaca; }
        //set { szPlaca_prop = value; }
    }

    public string szConductor_prop
    {
      get { return pVehicle.szConductor; }
    }

    public string szMarca_Modelo_prop
    {
      get { return pVehicle.szMarca + " - " + pVehicle.szModelo + " " + pVehicle.szTipoVehiculo; }
        
    }

    public string szDates_prop
    {
      get { return szDates; }
    }

  }
}
